package org.feluma.sgci.controle;

import java.sql.SQLException;
import java.util.ArrayList;

import org.feluma.sgci.dao.PerfilDAO;
import org.feluma.sgci.entidade.Perfil;
import org.feluma.sgci.util.Excecao;

public class PerfilControle {

	public String listar(){
		try {
			PerfilDAO dao = new PerfilDAO();
			ArrayList<Perfil> listaPerfil = dao.listar();
			Transporte.request.setAttribute("listPerfil", listaPerfil);
		} catch (Excecao e) {
			e.printStackTrace();
		}
		return "perfil.jsp";
	}
	
	public String cadastrar() throws Excecao{
		
		Perfil perfil = new Perfil();
		perfil.setDescricao(Transporte.request.getParameter("descricao"));
		PerfilDAO dao = new PerfilDAO();
		dao.cadastrar(perfil);
		String pagina = this.listar();	
		return pagina;		
	}
	
public String gravar() throws Excecao{
		
		Perfil perfil = new Perfil();
		perfil.setDescricao(Transporte.request.getParameter("descricao"));
		perfil.setCodigo(Integer.parseInt((Transporte.request.getParameter("codPerfil"))));
		PerfilDAO dao = new PerfilDAO();
		dao.gravar(perfil);
		String pagina = this.listar();	
		return pagina;		
	}

public String alterar() throws Excecao{
	
	Perfil perfil = new Perfil();
	PerfilDAO dao = new PerfilDAO();
	perfil = dao.procurar(Integer.parseInt(Transporte.getRequest().getParameter("codigo")));
	Transporte.request.setAttribute("perfil", perfil);		
	return "alterarPerfil.jsp";		
}
	
	public String excluir() throws Excecao{		
		int codigo = Integer.parseInt(Transporte.request.getParameter("codigo"));
		PerfilDAO dao = new PerfilDAO();
		try {
			dao.excluir(codigo);
		} catch (SQLException e) {
			e.printStackTrace();
		}
		String pagina = this.listar();	
		return pagina;		
	}
	
	public String pesquisar(){
		try {
			String pesquisa = Transporte.getRequest().getParameter("nome");
			PerfilDAO dao = new PerfilDAO();
			
			ArrayList<Perfil> listaPerfil = dao.pesquisar(pesquisa);
			Transporte.request.setAttribute("listPerfil", listaPerfil);
		} catch (Excecao e) {
			e.printStackTrace();
		}
		return "perfil.jsp";
	}
}
